package com.javaee.demov2.persistent.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.javaee.demov2.persistent.entity.Ticket;
import com.javaee.demov2.web.dto.ticket.TicketQueryDto;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface TicketMapper extends BaseMapper<Ticket> {

    /**
     * 分页查询票据信息
     * 根据传入的查询条件参数（TicketQueryDto，可自行定义该类来封装查询条件）来进行分页查询操作
     */
    List<Ticket> pageQuery(TicketQueryDto ticketQueryDto);

    /**
     * 根据票据状态查询票据列表
     * @param status 票据状态值（例如0表示未处理，1表示已核销等，具体根据业务定义）
     * @return 符合该状态的票据列表
     */
    List<Ticket> findByStatus(Integer status);

    /**
     * 根据票据编号查询票据
     * @param ticketNumber 票据的编号，通常具有唯一性
     * @return 对应的票据对象，如果不存在则返回null
     */
    Ticket findByTicketNumber(String ticketNumber);
}
